package com.itheima.homework.one;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/*
* - 使用ThreadPoolExecutor创建一个线程池，要求核心线程数3个，
* 最大线程数6个，任务队列长度为10，临时线程存活时间为5秒；
- 要求给7个参数加上注释
- 在使用创建好的线程池，提交16个任务
- 每一个任务打印线程名称，和任务编号（参考老师写的代码）
*
* */
public class Demo {
    public static void main(String[] args) {

        ThreadPoolExecutor pool = new ThreadPoolExecutor(
//                核心线程
                3,
//                最大线程数
                6,
//                存活时间
                5,
//                时间单位
                TimeUnit.SECONDS,
//                队列长度
                new ArrayBlockingQueue<>(2),
//                线程工厂
                Executors.defaultThreadFactory(),
//                任务抱起策略
                new ThreadPoolExecutor.AbortPolicy()
        );
        for (int i = 1; i < 17; i++) {
            pool.execute(new MyRunnable(i));

        }

        pool.shutdown();

    }
}
